#!user/bin/env python3
# -- coding: utf-8 --
# @Createtime：2023/10/29
# @Updatetime：17:09
# @Author：Test008
# @File：page_login.py
# @Description：
"""
    page页面对象 一个页面封装成一个对象
        实现：
            模块名：page+实际操作模块名称 如：page_login.py
            类名：以大驼峰形式将模块名抄进来，去掉下划线。如：PageLogin
            方法名：每个元素操作单独封装一个操作方法。 如：page_click_login_btn
            组装：根据需求组装以上步骤

"""
import sys
import time

from selenium import webdriver

import page.page_login
from v4.base.base import Base
from v4.page import Elements


class PageLogin(Base):

    # 点击百度登录链接
    def page_click_baidu_login_link(self):
        self.base_click(Elements.login_baidu_login_btn)

    # 点击短信登录
    def page_click_sms_login_link(self):
        self.base_click(Elements.login_sms_btn)

    # 输入手机号
    def page_input_photo_number(self, photo_number):
        self.base_input(Elements.login_photo_number, photo_number)

    # 输入验证码
    def page_input_captcha(self, captcha):
        self.base_input(Elements.login_captcha, captcha)

    # 勾选百度协议语政策
    def page_click_sms_is_agree(self):
        self.base_click(Elements.login_sms_is_agree)

    # 点击登录
    def page_click_login_button(self):
        # time.sleep(1)
        self.base_click(Elements.login_btn)

    # 获取错误信息
    def page_get_error_text(self):
        # time.sleep(1)
        return self.base_get_text(Elements.login_error_info)

    # 截图
    def page_get_img(self):
        self.base_get_image()

    # 组合业务方法
    def page_login(self, photo_number=None, captcha=None):
        # self.page_click_baidu_login_link()
        self.page_click_sms_login_link()
        self.page_input_photo_number(photo_number)
        self.page_input_captcha(captcha)
        self.page_click_sms_is_agree()
        self.page_click_login_button()
        self.page_get_error_text()
        self.page_get_img()
